using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("BasicPopup")]
	public class BasicPopup : DialogBase
	{
		public enum Response
		{
			CANCEL,
			CUSTOM_RESPONSE
		}

		[Attribute38("BasicPopup.PopupInfo")]
		public class PopupInfo : MonoClass
		{
			public string m_prefabAssetRef => method_4("m_prefabAssetRef");

			public object m_responseUserData => method_3<object>("m_responseUserData");

			public string m_headerText => method_4("m_headerText");

			public string m_bodyText => method_4("m_bodyText");

			public PopupInfo(IntPtr address, string className)
				: base(address, className)
			{
			}

			public PopupInfo(IntPtr address)
				: this(address, "PopupInfo")
			{
			}
		}

		public UIBButton m_cancelButton => method_3<UIBButton>("m_cancelButton");

		public UIBButton m_customButton => method_3<UIBButton>("m_customButton");

		public UberText m_headerText => method_3<UberText>("m_headerText");

		public UberText m_bodyText => method_3<UberText>("m_bodyText");

		public PopupInfo m_popupInfo => method_3<PopupInfo>("m_popupInfo");

		public BasicPopup(IntPtr address, string className)
			: base(address, className)
		{
		}

		public BasicPopup(IntPtr address)
			: this(address, "BasicPopup")
		{
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public new bool HandleKeyboardInput()
		{
			return method_11<bool>("HandleKeyboardInput", Array.Empty<object>());
		}

		public new void GoBack()
		{
			method_8("GoBack");
		}

		public void SetInfo(PopupInfo info)
		{
			method_8("SetInfo", info);
		}

		public new void Show()
		{
			method_8("Show");
		}

		public new void OnHideAnimFinished()
		{
			method_8("OnHideAnimFinished");
		}

		public void InitInfo()
		{
			method_8("InitInfo");
		}

		public void ButtonPress(Response response)
		{
			method_8("ButtonPress", response);
		}
	}
}
